//Functia compara_valori verifica daca a <=> b si returneaza codul in functie de caz.
//Functia compara_vectori compara 2 ip-uri pentru a vedea care este mai mare dpdv intreg.
//Functia afla_lungimea_vectorului returneaza numarul de pozitii ocupat dintr-u vector
//Procedura sorteaza_vector Interclaseaza un ip intr-un vector pe pozitia corecta.
//Procedura adauga_ip_in_vector muta toate componentele in dreapta facand loc pentru un element.

Function compara_valori(v1,v2:integer):integer;
Begin
if v1<v2 then result:=1;
if v1=v2 then result:=2;
if v1>v2 then result:=3;
end;

Function compara_vectori(v1,v2:string):string;
var va1,va2,vb1,vb2,vc1,vc2,vd1,vd2:integer;
Begin
va1:=strtoint(ansileftstr(v1,ansipos('.',v1)-1));
v1:=ansirightstr(v1,length(v1)-length(ansileftstr(v1,ansipos('.',v1)-1))-1);
vb1:=strtoint(ansileftstr(v1,ansipos('.',v1)-1));
v1:=ansirightstr(v1,length(v1)-length(ansileftstr(v1,ansipos('.',v1)-1))-1);
vc1:=strtoint(ansileftstr(v1,ansipos('.',v1)-1));
v1:=ansirightstr(v1,length(v1)-length(ansileftstr(v1,ansipos('.',v1)-1))-1);
vd1:=strtoint(v1);

va2:=strtoint(ansileftstr(v2,ansipos('.',v2)-1));
v2:=ansirightstr(v2,length(v2)-length(ansileftstr(v2,ansipos('.',v2)-1))-1);
vb2:=strtoint(ansileftstr(v2,ansipos('.',v2)-1));
v2:=ansirightstr(v2,length(v2)-length(ansileftstr(v2,ansipos('.',v2)-1))-1);
vc2:=strtoint(ansileftstr(v2,ansipos('.',v2)-1));
v2:=ansirightstr(v2,length(v2)-length(ansileftstr(v2,ansipos('.',v2)-1))-1);
vd2:=strtoint(v2);

case compara_valori(va1,va2) of
1: Begin
showmessage('vectorul v2 este mai mare');
result:=v1;
end;
2: begin
case compara_valori(vb1,vb2) of
1: Begin
showmessage('vectorul v2 este mai mare');
result:=v1;
end;
2: begin
case compara_valori(vc1,vc2) of
1: Begin
showmessage('vectorul v2 este mai mare');
result:=v1;
end;
2: begin
case compara_valori(vd1,vd2) of
1: Begin
showmessage('vectorul v2 este mai mare');
result:=v1;
end;
2: begin
showmessage('VECTORII SUNT EGALI!!!');
end;
3: begin
showmessage('vectorul v1 este mai mare');
result:=v2;
end;
end;
end;
3: begin
showmessage('vectorul v1 este mai mare');
result:=v2;
end;
end;
end;
3: begin
showmessage('vectorul v1 este mai mare');
result:=v2;
end;
end;
end;
3: begin
showmessage('vectorul v1 este mai mare');
result:=v2;
end;
end;

end;

Function afla_lungimea_vectorului(v:vector):integer;
begin
result:=0;
for i:=0 to 255 do if v[i]<>'' then result:=result+1;
end;

Procedure sorteaza_vector(ip:string);
Begin
ls_vector:=afla_lungimea_vectorului(v);
i:=0;
repeat
if ip>v[i] then begin
i:=i+1;
end
else begin
adauga_ip_in_vector(ip,i);
break;
end;
until i=ls_vector;
if ip>v[afla_lungimea_vectorului(v)] then v[i+1]:=ip;
end;

Procedure adauga_ip_in_vector(ip:string;i:integer);
Begin
for c:= ls_vector+1 downto i do v[c]:=v[c-1];
v[i]:=ip;
end;

